Multi-tiered enterprise applications, which include many (heterogeneous and possibly loosely coupled) components at various layers of the information technology (IT) stack, typically have configuration dependencies between these different components. A change in the value of a configuration parameter of a component may require changing one or more parameters of other components to the same value. Keeping track of these dependencies is no mean feat as they are typically cross-product and require in-depth product and/or system knowledge.
One prior art approach is set forth in U.S. Pat. No. 6,286,047, which discloses a method and system for automatic discovery of network services. In particular, a method for identifying services, service elements and dependencies among the services and service elements includes executing first and second phases of discovery. In the first phase, the services and service elements are detected, as well as a first set of dependencies. The second phase is based on results of the first phase and is focused upon detecting inter-service dependencies, i.e., conditions in which proper operation of one service relies upon at least one other service. Various techniques may be used in executing the first phase, including accessing information in a domain name service (DNS) of the network to identify dependencies, as well as services and service elements. Discovery within the first phase may also be based upon recognizing naming conventions. Regarding the second phase, one approach to discovering inter-service dependencies is to deploy discovery agents implemented in computer software to access content of configuration files of applications detected in the first phase. Discovery agents may also be used to monitor connections completed via specified service elements detected in the first phase, such that other inter-service dependencies are identified. As an alternative or additional approach, network probes may be deployed to access information of data packets transmitted between service elements detected in the first phase, with the accessed packet information being used to detect inter-service dependencies. When information of the DNS is accessed in the first phase, the information is used as a basis for determining at least some of (1) groups of service elements that are generally equivalent with respect to executing a particular service within the network, (2) hosts supporting virtual hosting, (3) hosts supporting virtual servers, and (4) name servers.
Another prior art approach is set forth in US Patent Publication 2007-0094256, which discloses a system and method for integrating and adopting a service-oriented architecture that utilizes semantic searching. An exemplary system includes an application discovery and semantic analysis software tool. The application discovery and semantic analysis software tool includes a discovery engine that discovers application services, an application resource catalog that stores the discovered application services as software constructs in an application services ontology, and a semantic inference engine that semantically analyzes the software constructs in the application services ontology to determine relationships between the application services and enable more efficient searching of the discovered application services.